/*
 * ==========================================================================*\
 * | $Id$
 * |*-------------------------------------------------------------------------*|
 * | Copyright (C) 2009 Virginia Tech | | This file is part of CloudSpace. | |
 * CloudSpace is free software; you can redistribute it and/or modify | it under
 * the terms of the GNU General Public License as published | by the Free
 * Software Foundation; either version 3 of the License, or | (at your option)
 * any later version. | | CloudSpace is distributed in the hope that it will be
 * useful, | but WITHOUT ANY WARRANTY; without even the implied warranty of |
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | GNU General
 * Public License for more details. | | You should have received a copy of the
 * GNU General Public License | along with CloudSpace; if not, see
 * <http://www.gnu.org/licenses/>.
 * \*==========================================================================
 */

package cloudspace.ui.impl;

import java.util.Calendar;
import java.util.Date;

import org.zkoss.zul.Timebox;
import org.zkoss.zul.Window;


// -------------------------------------------------------------------------
/**
 * The internal implementation of the input prompt dialog. Do not use this class
 * directly; call {@link cloudspace.ui.Dialogs#prompt(String, String, String)}
 * to display the dialog.
 * 
 * @author Tony Allevato
 * @author Last changed by $Author$
 * @version $Revision$, $Date$
 */
public class DatePopup extends Window
{
    // ~ Constructors ..........................................................

    // ----------------------------------------------------------
    public DatePopup()
    {
        result = null;
    }


    // ~ Methods ...............................................................

    // ----------------------------------------------------------
    public void onOK()
    {
        org.zkoss.zul.Calendar cal = (org.zkoss.zul.Calendar)this.getPage()
            .getFellow( "cal" );
        Date monthDay = cal.getValue();
        Timebox timebox = (Timebox)this.getPage()
            .getFellow( "timestampSpinner" );
        Date time = timebox.getValue();
        Calendar monthDayCal = Calendar.getInstance();
        monthDayCal.setTime( monthDay );
        Calendar timeCal = Calendar.getInstance();
        timeCal.setTime( time );
        monthDayCal.set( Calendar.HOUR, timeCal.get( Calendar.HOUR ) );
        monthDayCal.set( Calendar.MINUTE, timeCal.get( Calendar.MINUTE ) );
        monthDayCal.set( Calendar.AM_PM, timeCal.get( Calendar.AM_PM ) );
        long timestamp = monthDayCal.getTime().getTime();
        this.getPage().setAttribute( "filemanager-timestamp",
            new Long( timestamp ) );
        this.detach();
    }

    // ~ Static/instance variables .............................................

    private static final long serialVersionUID = 6081953395500563691L;

    private String result;
}
